package edu.ctbu.ctbujsj.dao;

import edu.ctbu.ctbujsj.domain.Student;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

import java.sql.Timestamp;
import java.util.List;

public interface StudentRepository extends JpaRepository<Student,Long> {

    /**
     * 返回以xx作为姓名前缀的所有学生
     * @param affixName 学生姓名前缀
     * @return
     */

    public List<Student> findByTrueNameLike(String affixName);

    /**
     * 返回以指定时间开始到指定时间结束的学生
     * @param start 开始时间
     * @param end   结束时间
      * @return  学生列表
     */
    public List<Student> findByBirthdayBetween(Timestamp start,Timestamp end);


    @Query("select o from Student  o where o.name=(select max(p.name)  from Student p)")
    public List<Student> findByMaxName();

    @Query("select o from Student o where o.trueName=:trueName and o.sex=:sex")
    public List<Student> findByNameAndSex(@Param("trueName")String trueName,
                                          @Param("sex")Long sex);


    /**
     * 按学生的姓名和密码取数据
     * @param name
     * @param password
     * @return
     */
    public List<Student> findByNameAndPassword(String name,String password);
}
